תאריך פרסום הגרסה היציבה: 27 במאי 2025
אלא אם צוין אחרת, השינויים הבאים חלים על הגרסה 137 של Chrome בערוץ היציב ל-Android, ל-ChromeOS, ל-Linux, ל-macOS ול-Windows.
CSS וממשק משתמש
פונקציית if()
של CSS
הפונקציה if()
ב-CSS מספקת דרך תמציתית להביע ערכים מותנים. הוא מקבל סדרה של צמדי תנאי-ערך, שמופרדים בנקודות-פסיק. הפונקציה בוחנת כל תנאי ברצף ומחזירה את הערך שמשויך לתנאי הראשון שמתקיים. אם אף אחד מהתנאים לא מקבל את הערך True, הפונקציה מחזירה מקור אסימונים ריק. כך אפשר לבטא לוגיקה מותנית מורכבת בדרך פשוטה ותמציתית.
דוגמה:
div {
color: var(--color);
background-color: if(style(--color: white): black; else: white);
}
.dark {
--color: black;
}
.light {
--color: white;
}
<div class="dark">dark</div>
<div class="light">light</div>
באג מעקב מס' 346977961 | רשומה ב-ChromeStatus.com | מפרט
מאפייני CSS reading-flow
, reading-order
המאפיין reading-flow
ב-CSS קובע את הסדר שבו רכיבים בפריסה של גמישות, רשת או בלוק נחשפים לכלים לנגישות ומקבלים מיקוד באמצעות ניווט המיקוד במקלדת באמצעות Tab.
בעזרת נכס ה-CSS reading-order
, המחברים יכולים לשנות באופן ידני את הסדר בתוך מאגר של תהליך קריאה. זהו מספר שלם עם ערך ברירת מחדל של 0
.
מידע נוסף על המאפיינים האלה זמין במאמר שימוש ב-CSS reading-flow לניווט לוגי רציף של המיקוד, ואפשר גם לנסות כמה דוגמאות.
מעקב אחרי באג מס' 40932006 | הרשומה ב-ChromeStatus.com | מפרט
התעלמות מריווח בין אותיות בסקריפטים בכתב יד
התכונה הזו מוסיפה לוגיקה שמאפשרת להתעלם מהגדרת המרווח בין האותיות בסקריפטים בכתב יד, כפי שצוין על ידי המפתח, בהתאם למפרט. המטרה היא להבטיח שהמרווח בין האותיות לא יפריע למבנה המילים, וכך לשפר את חוויית המשתמש של משתמשים שמשתמשים בסקריפטים בכתב יד.
התכונה הזו מאפשרת ל-Chrome לוודא שכתבי יד בכתב מרובע יהיו קריאים ועם רווחים תקינים, גם אם הגופנים לא כוללים תכונות טיפוגרפיות מתקדמות.
הסקריפטים שחלים עליהם ב-Chromium הם ערבית, Hanifi Rohingya, Mandaic, מונגולי, N'Ko, Phags Pa ו-Syriac, כי הסקריפטים האלה נחשבים לכתב יד לפי המפרט.
מעקב אחרי באג מס' 40618336 | רשומה ב-ChromeStatus.com | מפרט
Selection API getComposedRanges
ו-direction
התכונה הזו כוללת שתי שיטות API חדשות ל-Selection API:
Selection.direction
שמחזיר את כיוון הבחירה בתורnone
,forward
אוbackward
Selection.getComposedRanges()
שמחזירה רשימה של 0 או 1 מורכבתStaticRange
StaticRange
מורכב מורשה לחצות גבולות של צללים, אבל Range
רגיל לא יכול.
לדוגמה:
const range = getSelection().getComposedRanges({ shadowRoots: [root] });
אם הבחירה חוצה גבול של שורש צללי שלא מופיע ברשימה shadowRoots
, נקודות הקצה של StaticRange
יחויבו לשינוי היקף כך שייצאו מחוץ לעץ הזה. כך אפשר לוודא ש-Chrome לא חושף עצי צל לא מוכרים.
מעקב אחרי באג מס' 40286116 | הרשומה ב-ChromeStatus.com | מפרט
לתמיכה ב-offset-path: shape()
תמיכה ב-offset-path: shape()
, כדי לאפשר להשתמש בצורות רספונסיביות כדי להגדיר את נתיב האנימציה.
מעקב אחרי באג מס' 389713717 | רשומה ב-ChromeStatus.com | מפרט
תמיכה במאפיין transform
ב-SVGSVGElement
התכונה הזו מאפשרת להחיל מאפייני טרנספורמציה – כמו שינוי קנה מידה, סיבוב, תרגום ועיוות – ישירות על רכיב הבסיס <svg>
באמצעות המאפיין transform
שלו. השיפור הזה מאפשר לשנות את כל מערכת הקואורדינטות של ה-SVG או את התוכן שלה באופן כללי, ומספק גמישות רבה יותר ביצירת גרפיקה וקטורית דינמית, רספונסיבית ואינטראקטיבית. התמיכה במאפיין הזה מאפשרת לשנות את הרכיב <svg>
בלי צורך ברכיבי עטיפה נוספים או בפתרונות חלופיים מורכבים ב-CSS, וכך לייעל את תהליך היצירה של גרפיקה רספונסיבית ואנימציות לאינטרנט.
מעקב אחרי באג מס' 40313130 | רשומה ב-ChromeStatus.com | מפרט
צבע ההדגשה של המערכת למאפיין accent-color
כך תוכלו להשתמש בצבע המשני של מערכת ההפעלה באלמנטים של טפסים. באמצעות מאפיין ה-CSS accent-color
, אפשר לוודא שרכיבי טפסים כמו תיבות סימון, לחצני רדיו וסרגלי התקדמות יקבלו באופן אוטומטי את צבע הרקע המוגדר במערכת ההפעלה של המשתמש. התכונה הזו נתמכת ב-macOS מאז 2021, ועכשיו היא נתמכת גם ב-Windows וב-ChromeOS.
באג מעקב מס' 40764875 | רשומה ב-ChromeStatus.com | מפרט
כדי לאפשר ל-<use>
להפנות לרכיב השורש של מסמך חיצוני, משמיטים את הקטע.
התכונה הזו משפרת את היעילות של רכיב ה-SVG <use>
על ידי הקטנת הדרישות להפניות. לפני גרסה 137 של Chrome, היה צריך להפנות באופן מפורש לקטעים במסמך ה-SVG. אם לא יצוין מזהה קטע, <use>
לא יוכל לפתור את היעד ולא יהיה רינדור או הפניה.
לדוגמה: רכיב <use>
שמתייחס לקובץ חיצוני עם מזהה קטע:
<svg>
<use xlink:href="myshape.svg#icon"></use>
</svg>
בדוגמה הזו, #icon
הוא מזהה הקטע שמפנה לרכיב עם id="icon"
בתוך myshape.svg
.
ללא מזהה קטע:
<svg>
<use xlink:href="myshape.svg"></use>
</svg>
בעזרת התכונה הזו, אפשר להשמיט קטעים או לציין רק את שם קובץ ה-SVG החיצוני, והמערכת תתייחס באופן אוטומטי לאלמנט הבסיס. כך לא תצטרכו לשנות את המסמך שמצוין רק כדי להקצות מזהה ל-root. השיפור הזה מפשט את תהליך העריכה הידני ומשפר את היעילות.
מעקב אחרי באג מס' 40362369 | רשומה ב-ChromeStatus.com | מפרט
סוגי צבעים של נקודה צפה (floating-point) בקנבס
הוספה של היכולת להשתמש בפורמטים של פיקסלים עם נקודה צפה (לעומת נקודה קבועה של 8 ביט) באמצעות CanvasRenderingContext2D
, OffscreenCanvasRenderingContext2D
ו-ImageData
.
הדבר נחוץ לאפליקציות עם רמת דיוק גבוהה (למשל, תצוגה חזותית רפואית), לתוכן בטווח דינמי גבוה ולמרחבי צבעים לעבודה לינאריים.
מעקב אחרי באג מס' 40245602 | הרשומה ב-ChromeStatus.com | מפרט
view-transition-name: match-element
הערך match-element
יוצר מזהה ייחודי על סמך הזהות של האלמנט ומשנה את השם של האלמנט הזה. אפשר להשתמש באפשרות הזו במקרים של אפליקציות דף יחיד שבהן הרכיב זז ואתם רוצים להוסיף לו אנימציה באמצעות מעבר תצוגה.
מעקב אחרי באג מס' 365997248 | רשומה ב-ChromeStatus.com | מפרט
תשלומים
סוג השגיאה שהותאמה ליצירת פרטי הכניסה של payment
ב-WebAuthn: SecurityError
הופך ל-NotAllowedError
מתקנים את סוג השגיאה שהופיעה במהלך יצירת פרטי הכניסה ל-WebAuthn עבור פרטי הכניסה של payment
. בגלל אי-התאמה היסטורית במפרט, יצירת פרטי כניסה מסוג payment
ב-iframe ממקורות שונים ללא הפעלת משתמש תגרום להשלכת SecurityError
במקום NotAllowedError
, שהוא הערך שמופיע כשמשתמשים בפרטי כניסה ללא תשלום.
זהו שינוי שגורם לשבירה של תאימות, אם כי הוא ספציפי לתחום. קוד שזיהה בעבר את סוג השגיאה שהופיעה (לדוגמה, e instanceof SecurityError
) מושפע.
קוד שמטפל באופן כללי בשגיאות במהלך יצירת פרטי הכניסה (לדוגמה, catch (e)
) ימשיך לפעול בצורה תקינה.
מעקב אחרי באג מס' 41484826 | רשומה ב-ChromeStatus.com | מפרט
ממשקי API של אתרים
חלוקה למחיצות של כתובות URL מסוג Blob: אחזור/ניווט
בהמשך לחלוקת האחסון למחיצות, ב-Chrome הופעלה חלוקה למחיצות של הגישה לכתובות URL של Blob לפי מפתח האחסון (אתר ברמה העליונה, מקור המסגרת והערך הבוליאני has-cross-site-ancestor), מלבד ניווטים ברמה העליונה, שבהם החלוקה למחיצות תישאר רק לפי מקור המסגרת. ההתנהגות הזו דומה להתנהגות שמוטמעת כרגע ב-Firefox וב-Safari, והיא תואמת את השימוש בכתובות URL של Blob לתוכנית המחיצות שמשמשת ממשקי API אחרים של אחסון במסגרת מחיצות האחסון. בנוסף, Chrome אוכף עכשיו את ה-noopener על ניווטים ברמה העליונה שמתחילים במעבד גרפיקה לכתובות URL של Blob, כאשר האתר התואם הוא מאתר אחר ולא מהאתר ברמה העליונה שמבצע את הניווט. כך Chrome יתנהג כמו Safari, והמפרטים הרלוונטיים עודכנו כך שישקפו את השינויים האלה.
מעקב אחרי באג מס' 40057646 | הרשומה ב-ChromeStatus.com
סטאקים של קריאות בדוחות קריסה מדפי אינטרנט שלא מגיבים
התכונה הזו מתעדת את סטאק הקריאות של JavaScript כשדף אינטרנט הופך לא מגיב בגלל קוד JavaScript שמריץ לולאה אינסופית או חישוב ארוך מאוד אחר. כך המפתחים יכולים לזהות בקלות רבה יותר את הגורם לאי-התגובה ולתקן אותו. סטאק הקריאות של JavaScript נכלל ב-API לדיווח על קריסות כשהסיבה היא חוסר תגובה.
מעקב אחרי באג מס' 1445539 | רשומה ב-ChromeStatus.com | מפרט
Document-Isolation-Policy
Document-Isolation-Policy
מאפשר למסמך להפעיל את crossOriginIsolation
בעצמו, בלי צורך לפרוס את COOP או COEP, ולא משנה מהו סטטוס crossOriginIsolation
של הדף. המדיניות נתמכת בבידוד תהליכים. בנוסף, משאבי המשנה של המסמך ממקורות שונים ללא CORS יטופלו באופן הבא: הם יטענו ללא פרטי כניסה, או שיהיה צורך לכלול בהם כותרת CORP.
מעקב אחרי באג מס' 333029146 | רשומה ב-ChromeStatus.com | מפרט
Ed25519
בקריפטוגרפיה באינטרנט
התכונה הזו מוסיפה תמיכה באלגוריתמים של Curve25519
ב-Web Cryptography API, כלומר אלגוריתם החתימה Ed25519
מעקב אחרי באג מס' 1370697 | רשומה ב-ChromeStatus.com | מפרט
מניעת מעקב באמצעות HSTS
צמצום המעקב אחר משתמשים על ידי צדדים שלישיים באמצעות המטמון של HSTS.
התכונה הזו מאפשרת שדרוגי HSTS רק לניווטים ברמה העליונה, וחוסמת שדרוגי HSTS לבקשות של משאבי משנה. כך לא ניתן לאתרים של צד שלישי להשתמש במטמון HSTS כדי לעקוב אחרי משתמשים באינטרנט.
מעקב אחרי באג מס' 40725781 | הרשומה ב-ChromeStatus.com
WebAssembly
שילוב של הבטחה (promise) ב-JavaScript
JavaScript Promise Integration (JSPI) הוא ממשק API שמאפשר לאפליקציות WebAssembly להתמזג עם JavaScript Promises.
הוא מאפשר לתוכנית WebAssembly לפעול כגנרטור של Promise, ומאפשר לתוכנית WebAssembly לקיים אינטראקציה עם ממשקי API שמכילים Promise.
באופן ספציפי, כשאפליקציה משתמשת ב-JSPI כדי לקרוא ל-API (JavaScript) שמכיל Promise, קוד WebAssembly מושעה, והמבצע המקורי של הקריאה לתוכנית WebAssembly מקבל Promise שיתמלא כשתוכנית WebAssembly תסתיים סוף סוף.
הרשומה ב-ChromeStatus.com | מפרט
רמזי הסתעפות של WebAssembly
שיפור הביצועים של קוד WebAssembly שנאסף על ידי עדכון המנוע כך שיידע שיש סיכוי גבוה שההוראה מסוימת להסתעפות תעבור דרך נתיב ספציפי.
כך המנוע יכול לקבל החלטות טובות יותר לגבי פריסת הקוד (שיפור ההיטים במטמון ההוראות) והקצאת הרשומות.
הרשומה ב-ChromeStatus.com | מפרט
WebGPU
GPUTextureView
לקישור של externalTexture
עכשיו מותר להשתמש ב-GPUTextureView
לקישור externalTexture
כשיוצרים GPUBindGroup
.
מעקב אחרי באג מס' 398752857 | הרשומה ב-ChromeStatus.com | מפרט
עומס יתר ב-copyBufferToBuffer
השיטה GPUCommandEncoder
copyBufferToBuffer()
כוללת עכשיו דרך פשוטה יותר להעתיק מאגרים שלמים באמצעות עומס יתר חדש עם פרמטרים אופציונליים של אופסים וגדלים.
הרשומה ב-ChromeStatus.com | מפרט
Enterprise
רישום ביומן של כתובות IP ודיווח עליהן
כדי לשפר את יכולות המעקב אחר אבטחה ואת התגובה לתקריות, אנחנו ב-Chrome Enterprise אוספים כתובות IP מקומיות ומרוחקות ומדווחים עליהן, ואז שולחים את כתובות ה-IP האלה ליומני החקירה של האבטחה (SIT). בנוסף, ב-Chrome Enterprise האדמינים יוכלו לשלוח את כתובות ה-IP לספקי SIEM של צד ראשון ושל צד שלישי דרך המחבר לדיווח של Chrome Enterprise.
האפשרות הזו זמינה ללקוחות Chrome Enterprise Core.
גרסאות מקור לניסיון
מאפיין חסימה של עיבוד עם קצב פריימים מלא
הוספת אסימון חדש לחסימת הרינדור full-frame-rate
למאפייני החסימה.
כשהמרת הדפים חסומה באמצעות האסימון full-frame-rate
, המרת הדפים תפעל בקצב פריימים נמוך יותר כדי לשמור יותר משאבים לטעינה.
מעקב אחרי באג מס' 397832388 | הרשומה ב-ChromeStatus.com
השהיית ההפעלה של מדיה ב-iframes שלא עברו רינדור
הוספת מדיניות הרשאות media-playback-while-not-rendered
כדי לאפשר לאתרים שמטמיעים תוכן להשהות את הפעלת המדיה של iframes מוטמעים שלא עוברים עיבוד – כלומר, שהמאפיין display
שלהם מוגדר כ-none
. כך המפתחים יוכלו ליצור חוויות שימוש ידידותיות יותר למשתמשים ולשפר את הביצועים, כי הדפדפן יטפל בהפעלה של תוכן שלא גלוי למשתמשים.
Origin Trial | באג מעקב מס' 351354996 | רשומה ב-ChromeStatus.com
Rewriter API
Rewriter API משנה את טקסט הקלט ומנסח אותו מחדש בדרכים המבוקשות, על סמך מודל שפה מבוסס-AI במכשיר. מפתחים יכולים להשתמש ב-API הזה כדי להסיר מילים מיותרות בטקסט כדי להתאים למגבלת המילים, לשנות את הניסוח של הודעות כך שיתאימו לקהל היעד או כדי שהן יהיו יותר פרודוקטיביות אם נמצא בהן שפה פוגענית, לשנות את הניסוח של פוסט או מאמר כך שיכללו מילים ומונחים פשוטים יותר ועוד.
גרסת טרום-השקה | באג מעקב מס' 358214322 | הרשומה ב-ChromeStatus.com | מפרט
Writer API
אפשר להשתמש ב-Writer API כדי לכתוב תוכן חדש על סמך הנחיה למטלת כתיבה, שתומכת במודל שפה מבוסס-AI במכשיר. המפתחים יוכלו להשתמש ב-API הזה כדי ליצור הסברים טקסטואליים של נתונים מובְנים, לכתוב פוסט על מוצר על סמך ביקורות או תיאור המוצר, להרחיב רשימות של יתרונות וחסרונות לתצוגות מלאות ועוד.
גרסת Origin Trial | באג מעקב מס' 357967382 | הרשומה ב-ChromeStatus.com | מפרט